Informace o předmětu -------------------- Předmět je inspirovaný kurzem [How to Make (almost) Anything](http://cba.mit.edu/classes/index.html) který vede prof. Neil Gershenfeld na MIT. Doporučuji projít stránky předmětu (každý rok má svůj vlastní rozcestník), kde jsou podklady pro přednášky, recitace, tutoriály a stránky studentů, kde dokumentují svou práci. V materiálech se také budeme často odkazovat na podobný kurz na Harvardu [Introduction to Digital Fabrication](https://nathanmelenbrink.github.io/intro-dig-fab/index.html) Chceme vám poskytnou prostor, abyste se mohli učit sami a také od sebe navzájem (bez vaší aktivity to nepůjde). Požadavky --------- * Každý týden splnit úkol (rozsah podle svých schopností) a zdokumentovat na stránkách. Týdenní úkoly mohou ale nemusí být součástí závěrečného projektu. * Zpracovat a prezentovat závěrečný projekt (musí využívat několik probraných témat - minimálně 3D návrh a výrobu, elektroniku, programování) Hodnocení --------- * Budeme hodnotit primárně snahu a relativní složitost, tedy zda si každý našel patřičnou osobní výzvu. * Hlavním podkladem pro hodnocení budou stránky. * Kvalitní dokumentace je taková, která umožňuje replikaci, zachycuje proces tvorby i finální výrobek. Text by tedy měly vhodně doplňovat obrázky, schémata, výrobní podklady, zdrojové kódy, krátká videa atd. * Přidělení známky proběhne po prezentaci projektů na osobním setkání. Hlavní váhu má vaše práce v semestru a její dokumentace. Závěrečný projekt je podmínkou absolvování kurzu a mělo by to být vaše mistrovské dílo. * Vaše stránky budeme společně procházet na přednáškách. Pokud se při tom ukáže, že s prací zaostáváte, můžete se to odrazit na vašem hodnocení. * Pokud budete mít zájem o průběžnou zpětnou vazbu a hodnocení, tak se na nás obraťte. Projekt ------- * Musí zahrnovat několik probraných témat - minimálně 3D design, aditivní nebo subtraktivní výrobní proces, návrh a výrobu elektroniky, programování mikrokontroleru, integraci všech částí v jeden celek * Projekt může být individuální nebo i týmový, ale každý student musí za sebe demonstrovat zvládnutí všech dovedností a prezentovat svoji práci. * V prezentaci odpovězte například na tyto otázky: Co to dělá? Co bylo uděláno dříve? Co jste navrhli a vyrobili sami? Jaké jste použili materiály a komponenty? Odkud se vzaly? Kolik stály? Co vám fungovalo, co ne, a jak jste to zhodnotili? Co jste udělali a co ještě zbývá udělat? Co jste se naučili? * Připravte jeden slajd a minutové video, které ukáže koncepci, konstrukci a provoz. * V případě, že projekt prezentujete ještě v jiném předmětu (např. LPE, LAR), tak by objem práce měl odpovídat součtu časových dotací. * Projekt by měl být vaše práce, tedy nestačí vzít cizí výrobní podklady a postupovat podle návodu. Osobní stránky -------------- * Umístěné v repozitáři na GitLabu publikované přes GitLab Pages * Adresa `https://b232_b3b35jvc.pages.fel.cvut.cz/%USERNAME%` * Obsah stránek: * Rozcestník na záznam z každého týdne * Osobní profil - pár vět o vás * Samostatnou stránku věnovanou závěrečnému projektu * Na GitLab nenahrávejte zbytečně velké soubory - obrázky i videa komprimujte (ImageMagick, ffmpeg) * Příklady dobře vedených stránek z minulého roku: [Marek Broul](http://b222_b3b35jvc.pages.fel.cvut.cz/broulma1/), [Zuzana Jindrová](http://b222_b3b35jvc.pages.fel.cvut.cz/jindrzuz/), [Filip Korf](http://b222_b3b35jvc.pages.fel.cvut.cz/korffili/), [Šimon Pecháček](http://b222_b3b35jvc.pages.fel.cvut.cz/pechasim/) * Další příklady: [FabAcademy: Nadieh Bremer](https://www.visualcinnamon.com/2021/07/fabacademy/), [FabAcademy: Elena Cardiel](https://fabacademy.org/2019/labs/leon/students/elena-cardiel/diary.html), [HTMAA: Bo Heather Bowman](https://fab.cba.mit.edu/classes/863.21/Architecture/people/BoHeatherBowman/Tips-and-Tricks-(How-To).html) Materiál -------- * Pokud si to můžete dovolit a chcete vyrábět něco zajímavějšího (hodnotnějšího), co si odnesete, tak si součástky a materiál kupte. * Nějaký základní spotřební materiál (např. karton pro řezání laserem, či filamenty pro seznámení s 3D tiskem) seženeme. * Elektronické moduly a součástky zajistíme pro zapůjčení. První přednáška --------------- * Organizace předmětu * Představení vyučujících a studentů * Přednáška * Show & Tell - přineste ukázat, co jste vyrobili. * Diskuze nad několika vašimi stránkami (účast na přednáškách je povinná) * Úvod do tématu daného týdne (téma začínáme a končíme přednáškou) * Cvičení * Společný praktický úvod / školení na stroji * Skupinový úkol * Individuální práce + dokumentace * Noste si raději svůj PC * Inspirace * Blogy, servery, časopisy: [Hackaday](https://hackaday.com/), [Adafruit blog](https://blog.adafruit.com/), [Instructables](https://www.instructables.com/), [Hackster](https://www.hackster.io/), [Makezine](https://makezine.com/), [Hack Space](https://hackspace.raspberrypi.com/), [MagPi](https://magpi.raspberrypi.com/) * YT: [StuffMadeHere](https://www.youtube.com/@StuffMadeHere), [James Bruton](https://www.youtube.com/@jamesbruton), [Great Scott lab](https://www.youtube.com/@greatscottlab), [ThisOldTony](https://www.youtube.com/@ThisOldTony) * CAD * Fusion 360 (https://www.youtube.com/@ProductDesignOnline, https://www.youtube.com/@AutodeskFusion360, https://youtube.com/playlist?list=PLrZ2zKOtC\_-DR2ZkMaK3YthYLErPxCnT-) * OpenSCAD * [HTMAA: Parametric design Recitation](https://alfonso.pages.cba.mit.edu/recitations/parametric_design.html) * Git a stránky * [HTMAA: Git & HTML Recitation](https://fab.cba.mit.edu/classes/863.22/doc/git_recitation/index.html) [https://gitlab.com/pages](https://gitlab.com/pages) > **Warning** > This is a warning > ## Úkol > * Naplánujte si a načrtněte potenciální závěrečný projekt. > * Vymodelujte (obrázek, 2D, 3D, render, animace, simulace) svůj závěrečný projekt. > * Zmenšete své obrázky a videa. > * Umístěte popis a obrázky na své stránky. Stránky by měly obsahovat váš stručný profil, sekci o závěrečném projektu a připravené sekce (odkazy) pro jednotlivé úkoly. Cvičení ------- * Prohlídka prostor Strojovny * Bezpečností školení * Přihlaste se na [fakultní GitLab](https://gitlab.fel.cvut.cz) * Zkontrolujte, že na stránce `Projects` vidíte svůj repozitář `B232_B3B35JVC / %USERNAME%`. Pokud ne, tak poproste vyučujícího, aby vám ho vytvořil. * Založte si v něm složku `public` (tlačítko "+" a New Directory). * Ve složce si vytvořte nový soubor (tlačítko "+" a New File). * Pojmenujte ho `index.html`. ```html <!DOCTYPE html> <html> <title>Ahoj světe</title> <body> <h1>Ahoj světe</h1> <p>Můj první odstavec.</p> </body> </html> ``` * Pokud neznáte HTML mrkněte například sem [W3Schools: HTML Tutorial](https://www.w3schools.com/html/default.asp) * Pro uložení změn musíte v Git udělat tzv. commit (pokud budete později soubor měnit přes webové rozhraní, tak zvolte možnost ``Commit to main branch``, abyste pak nemuseli dělat merge.) * Nyní musíte nastavit automatický skript, který bude automaticky obsah adresáře `public/` publikovat na webovém serveru * V kořenu repozitáře vytvořte soubor `.gitlab-ci.yml` ```yml pages: stage: deploy environment: production script: - echo 'Nothing to do...' artifacts: paths: - public rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ``` * Tento skript se nyní bude automaticky spouštět, když uděláte změny v repozitáři. * (Nyní je ještě potřeba v nastavení repozitáře (projektu) povolit Shared Runners (v levé nabídce `Settings / CI/CD / Runners / Enable shared runners for this project`) bez toho skript nebude fungovat.) Tuto změnu musíme kvůli opravněním udělat my. * Pokud skript proběhl v pořádku, tak v nastavení `Deploy / Pages` uvidíte adresu svých stránek `https://b232_b3b35jvc.pages.fel.cvut.cz/%USERNAME%` Pokud má adresa složitější formát, tak v nastavení vypněte "Use unique domain" * [Návod na jednoduché statické HTML stránky využívající GitLab Pages](https://gitlab.com/pages/plain-html) * Zkuste na stránku přidat nějaké obrázky (nezapomeňte je před tím zmenšit např pomocí [ImageMagick](http://academy.cba.mit.edu/classes/computer_design/image.html)) * Vzhled stránky si můžete vylepšit pomocí CSS sytlů ([W3Schools CSS Tutorial](https://www.w3schools.com/css/default.asp)) * Tvořit a editovat stránky přímo v HTML není úplně příjemné. Můžete zkusit použít generátor statistkých stránek (Static Site Generator GSS), který stránky vygeneruje ze struktorovaného textu. * Tento generátor si můžete spustit na svém počítači, nebo zkonfigurovat repozitář na GitLabu, aby se generování provedlo na serveru. Zde jsou příklady [https://gitlab.com/pages/](GitLab Pages examples). Populární generátory jsou například jekyll nebo hugo, ale voiba je na vás. * Práce s Gitem přes webové rozhraní je možná, ale standardně se k němu připojujete přes klient ve svém počítači. Na Linuxu bude součástí systému. Na Windows můžete použít [Git for Windows](https://gitforwindows.org/) * Repozitář si můžete tzv. naklonovat na svůj počítač. Zde je tutorial pro základní práci s Git z příkazové řádky [Command line Git](https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html). Hlavně budte potřebovat příkazy clone, add, commit, push, pull a status. Repozitář si můžete naklonovat pomocí HTTPS, pak budete muset pokaždé zadávat přihlašovací údaje, nebo pomocí SSH. K tomu si potřebujete na počítači vytvořit SSH klíč a jeho veřejnou část dát na GitLab. [A quick GitLab SSH key configuration example](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/How-to-configure-GitLab-SSH-keys-for-secure-Git-connections). * Pro inspiraci se můžete podívat na stránky [studentů minulého běhu]((https://b222_b3b35jvc.pages.fel.cvut.cz/prednasky/lide.html)), nebo studentů [How to make (almost) anything](https://fab.cba.mit.edu/classes/863.23/people.html). Další reference --------------- * [Computer-Aided Design](http://academy.cba.mit.edu/classes/computer_design/index.html) * [Project Presentation](http://academy.cba.mit.edu/classes/project_presentation/index.html) * [Project Development](http://academy.cba.mit.edu/classes/project_development/index.html) * [FAB LAB links](http://fab.cba.mit.edu/about/faq/) * [Digital Fabrication presentation](http://ng.cba.mit.edu/show/script/22.09.fab.html) * [IDF: HTML Tags](https://nathanmelenbrink.github.io/lab/website/codetags.html) * [IDF: How to Make a Website](https://nathanmelenbrink.github.io/lab/website/htmlcss.html) --- <ul class="pager"> <li class="previous"><a href="tyden1.html">← Předchozí týden</a></li> <li><a href="index.html">Index</a></li> <li class="next"><a href="tyden2.html">Další týden →</a></li> </ul>